I took this course in Spring 2022. This has to be one of the most useful course I have taken to understand how to manipulate low level stuff. I learned about how to read assembly code, how to use gdb to debug, pointer with linkedlist, multhreading, and networking. I encountered a lot of diffculty with pointers for the first project, which is Clue, a room escape game. Imagine you don't have any experience with pointers, and you have to program a maze game with 36 pointers. I was so lost at the beginning, but I managed to finish the project with my friends' (Jeff and Adam) help.
The amount of Linux commands and Kernel knowledge that I gained from this course is invaluable. I wouldn't able to excel in CS 377 and CS 426 without this course. Huge shout out to Professor Meng-Chieh Chiu and Professor Tim Richards for teaching this course.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#ifndef ROOM_H
#define ROOM_H
#define MAX_CHARACTER 6
struct Room{
char * name;
struct Room *North;
struct Room *South;
struct Room *East;
struct Room *West;
struct item *itemlist;
char *character[MAX_CHARACTER];
};
struct Room **createBoard();
struct Room **connectRoom(struct Room **board);
struct item *get_item_array();
struct item *get_all_item();
struct Room *randomizeLocation(struct Room *room_1D, int size);
int randomNumber(int size);
void print_character(struct Room **board);
void print_characterForOneRoom(struct Room *r);
void print_room(struct Room **board);
void print_items(struct Room **board);
void showMessage(struct Room *current_room);
char* print_single_room(struct Room *r,char* direction);
int checkRoomExist(struct Room *r);
int checkDirectionValid(char* direction);
#endif